﻿//
// This file is part of AVSReflector project
// Copyright (C) 2011 Yuan Pengfei
//

using System;
using System.Collections.Generic;
using System.Text;

namespace AVSReflector.Core
{
    static class Parameters
    {
        // Picture header decode
        public static int CurrentQP;
        public static int PreviousQP;
        public static uint FixedQP;

        // Slice decode
        public static uint MbIndex;
        public static uint[,] predQuantCoeffMatrix;

        // MacroBlock decode
        public static MacroBlockType MbType;
        public static uint MbTypeIndex;
        public static MacroBlockPartType[] MbPartType;
        public static uint MvNum;
        public static uint[] MvPartNum;
        public static uint CBPCodeNum;
        public static int DistanceIndex;

        // Block decode
        public static uint MbCBP;
        public static uint MbCBP422;
        public static int IntraLumaPredMode;
        public static int IntraChromaPredMode;
        public static BlockPredMode InterBlockPredMode;
        public static int ReferenceIndex;
        public static MotionVector MVEPred;
        public static MotionVector MVEPredFw;
        public static MotionVector MVEPredBw;
        public static int MVDiffX;
        public static int MVDiffY;

        public static Picture ForwardRef;
        public static Picture BackwardRef;
    }
}
